﻿//题目描述
//给定一个函数形式：f(x)=(ax + b)/cx
//本题有T组测试样例，对于每组样例：
//给定三个整数表示a, b, c用于确定函数，然后有q次询问，每次询问一个点的函数值。
//结果对998244353取模。
//输入格式
//第一行一个整数T，表示样例数。(1≤T≤10)
//对于每个样例：
//第一行四个整数a, b, c, q。(1≤a, b, c≤10^9, 1≤q≤10^4)
//接下来𝑞行，每行一个整数表示询问点𝑥𝑖。(1≤x≤10^9)
//输出格式
//对于每次询问，一个整数表示取模后的结果。
//样例输入1
//1
//7 1 17 3
//19
//25
//1
//样例输出1
//6181080
//664713299
//528482305
//费马定理：对于一个质数p，始终有【a^(p-1)=1】式子本身，(mod p)是附加条件 -> 逆元：inv（a）=1/a=a^(p-2)（mod p）
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll p = 998244353;//模数
ll qmi(ll a, ll b) {//快速幂
	ll res = 1;
	while (b) {
		if (b & 1)res = res * a % p;
		a = a * a % p;
		b >>= 1;
	}
	return res;
}
ll inv(ll x) {//逆元，通过快速幂来求逆元
	return qmi(x, p - 2);
}
ll f(ll a, ll b, ll c, ll x) {
	return (a * x % p + b) % p * inv(c * x % p) % p;
}
void solve() {
	ll a, b,c,q; cin >> a >> b>>c>>q;
	while (q--) {
		ll x; cin >> x;
		cout << f(a, b, c, x) << "\n";
	}
}
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	int t; cin >> t;
	while (t--)solve();
	return 0;
}